﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


using System.Windows.Controls;
using System.Collections.ObjectModel;

namespace Resxus.ViewModel
{
    public class FindAndReplaceWindowVM : WorkspaceViewModel
    {  

    #region Fields

    #endregion //Fields

    #region Constructor

        public FindAndReplaceWindowVM()
        {

        }

    #endregion //Constructor

    #region Commands

    #endregion //Commands

    #region Binding Properties

        /// <summary>
        /// 제목
        /// </summary>
        public override string DisplayName
        {
            get
            {
                return "찾기/바꾸기";
            }
        }

        /// <summary>
        /// 찾을 ID
        /// </summary>
        string _FindingID = "Any";
        public string FindingID
        {
            get
            {
                return _FindingID;
            }
            set
            {
                _FindingID = value;
                OnPropertyChanged("FindingID");
            }
        }
               
        /// <summary>
        /// 추천 단어 리스트
        /// </summary>
        ObservableCollection<string> _FindingIDSuggestions = null;
        public ObservableCollection<string> FindingIDSuggestions
        {
        	get
        	{
        		if(_FindingIDSuggestions == null)
        		{
                    _FindingIDSuggestions = new ObservableCollection<string>();
        		}
        		return _FindingIDSuggestions;
        	}
        }
        

        /// <summary>
        /// 찾을 Value
        /// </summary>
        string _FindingValue = string.Empty;
        public string FindingValue
        {
            get
            {
                return _FindingValue;
            }
            set
            {
                _FindingValue = value;
                OnPropertyChanged("FindingValue");
            }
        }

        /// <summary>
        /// Value를 교체하는지 여부
        /// </summary>
        bool _IsReplaceValue = false;
        public bool IsReplaceValue
        {
            get
            {
                return _IsReplaceValue;
            }
            set
            {
                _IsReplaceValue = value;
                OnPropertyChanged("IsReplaceValue");
            }
        }
        
        /// <summary>
        /// ID를 교체하는지 여부
        /// </summary>
        bool _IsReplaceID = false;
        public bool IsReplaceID
        {
            get
            {
                return _IsReplaceID;
            }
            set
            {
                _IsReplaceID = value;
                OnPropertyChanged("IsReplaceID");
            }
        }

        /// <summary>
        /// 교체할 단어
        /// </summary>
        string _Replacement = string.Empty;
        public string Replacement
        {
        	get
        	{
        		return _Replacement;
        	}
        	set
        	{
        		_Replacement = value;
        		OnPropertyChanged("Replacement");
        	}
        }

        /// <summary>
        /// 대소문자 구별
        /// </summary>
        bool _IsCaseSensitive = false;
        public bool IsCaseSensitive
        {
        	get
        	{
        		return _IsCaseSensitive;
        	}
        	set
        	{
        		_IsCaseSensitive = value;
        		OnPropertyChanged("IsCaseSensitive");
        	}
        }
        
        /// <summary>
        /// 정규식 사용 
        /// </summary>
        bool _IsUseRegularExpression = false;
        public bool IsUseRegularExpression
        {
        	get
        	{
        		return _IsUseRegularExpression;
        	}
        	set
        	{
        		_IsUseRegularExpression = value;
        		OnPropertyChanged("IsUseRegularExpression");
        	}
        }
        
        
        

        

    #endregion //Binding Properties

    #region Private Helpers

    #endregion //Private Helpers

    #region Public Methods

    #endregion //Public Methods

    }
}
